package com.openstack4j.qx;

import java.util.List;

import com.openstack4j.qx.pojo.BSParamArray;
import com.openstack4j.qx.pojo.BaseResp;
import com.openstack4j.qx.pojo.ResourceID;

public interface BSController {
	/**
	 * 创建块存储
	 * 该接口用于业务系统管理人员进行创建块块存储。
	 * @baater  内蒙古云科数据有限公司
	 * @param ParamFlag
	 * @param BSTemplateId
	 * @param BSParamArray
	 * @param ResourceID
	 * @param BSName
	 * @param AppID
	 * @param AppName
	 * @return
	 */
	public BaseResp CreateBS(String paramFlag, String bSTemplateId, BSParamArray bSParamArray, String resourceID, String bSName, String appID, String appName);
	
	
	
	
	/**
	 * 删除块存储
	 * 该接口用于业务系统管理人员进行删除块块存储。
	 * @baater  内蒙古云科数据有限公司
	 * @param bSID
	 * @return
	 */
	public BaseResp DeleteBS(String bSID);
	
	
	
	/**
	 * 查询块存储
	 * 该接口用于业务系统管理人员进行查询块块存储。
	 * @baater  内蒙古云科数据有限公司
	 * @param bSID
	 * @return
	 */
	public BaseResp QueryBS(String bSID);
	
	
	/**
	 * 修改块存储
	 * 该接口用于业务系统管理人员进行修改块块存储。
	 * @baater  内蒙古云科数据有限公司
	 * @param bSID
	 * @param VolSize
	 * @param bSName
	 * @return
	 */
	public BaseResp UpdateBS(String bSID, int VolSize, String bSName);
	
	
	
	
	/**
	 * 加载块存储
	 * 该接口用于将块存储加载到虚拟机上。
	 * @baater  内蒙古云科数据有限公司
	 * @param bSID
	 * @param resourceID
	 * @return
	 */
	public BaseResp AttachBS(String bSID, List<ResourceID> resourceID);
	
	
	
	/**
	 * 卸载块存储
	 * 该接口用于将块存储从虚拟机上卸载。
	 * @baater  内蒙古云科数据有限公司
	 * @param bSID
	 * @param resourceID
	 * @return
	 */
	public BaseResp DetachBS(String bSID, List<ResourceID> resourceID);
}
